package com.cl.unipay4j.core.pay;

import com.cl.unipay4j.core.Result;
import com.cl.unipay4j.core.pay.PayResponse;

import javax.servlet.http.HttpServletRequest;

/**
 * 支付回调接口
 *
 * @author siashan
 * @since v1.0.0
 **/
public interface INotify {
    /**
     * 回调
     *
     * @param request   request
     * @return 回调结果
     */
    Result<PayResponse> execNotify(HttpServletRequest request);

    /**
     * 回调成功，同步返回给支付平台的报文
     * @return 成功消息
     */
    String successMsg();

    /**
     * 回调失败，同步返回给支付平台的报文
     * @return 失败消息
     */
    String failMsg();
}
